<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  

  <script>
    var obj = {
      a: 10,
      b: 20
    }
    var val = 100
    // Object.definProperty 可以定义对象已经存在的属性或者不存在的
    Object.defineProperty(obj, 'a', {
      get: function() {
        // 拦截 用户获取这个对象的这个属性的值的时候
        // 返回什么值， 获取的就是什么值
        console.log('获取值');
        return val
      },
      set: function(newVal) {
        console.log('设置值', val);
        // this.a = val;
        val = newVal;
      }
    })
    console.log(obj.a);
    obj.a = 1000;
    console.log(obj.a);
  </script>
</body>
</html>